﻿using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Text;
using System.Data;

using YouHP.IDAL;
using YouHP.Model;

namespace YouHP.IDAL
{
    public interface IPatientPrescription
    {
        // 获取病人当前使用的中药列表
        List<PrescriptionHistoryInfo> GetUsingPrescriptionList(int prId);

        // 获取病人停止使用的中药列表
        List<PrescriptionHistoryInfo> GetStoppedPrescriptionList(int prId);

        // 获取病人使用某种中药的历史纪录
        List<PrescriptionHistoryInfo> GetPrescriptionHistoryList(int pageSize, int pageIndex, int prId, int prescriptionId, out int count);

        List<PrescriptionHistoryInfo> GetPrescriptionHistoryList(int prId, int prescriptionId);

        List<PrescriptionHistoryInfo> GetPrescripitonHistoryListByPid(int prescriptionId);

        // 开始服用新的中药
        bool AddPrescriptionHistory(PrescriptionHistoryInfo info);

        // 修改中药历史
        bool UpdatePrescriptionHistotry(PrescriptionHistoryInfo info);

        // 停止服用中药
        bool StopPrescriptionHistory(int prId, int prescriptionId, DateTime date);

        // 删除中药历史
        bool DelPrescriptionHistory(int prId, int historyId);

        //判断历史记录表中是否已存在病人指定时间对应的记录
        bool CheckPrescriptionHistory(int prId, int prescriptionId, DateTime date);

        // 获取当前服用的中药
        PrescriptionHistoryInfo GetCurrentPrescription(int prId, int prescriptionId);

        // 获取治疗的某条历史记录
        PrescriptionHistoryInfo GetPrescriptionHistory(int prId, int historyId);

        //取得某段时间内的所有中药记录历史
        List<PrescriptionHistoryInfo> GetPrescriptionHistoryList(int prId, DateTime startDate, DateTime endDate);

        List<int> GetIdsOfUserWhoDosePrescription(int pid);

    }
}
